<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 在底层，字符串是以字符数组的形式储存的
        var s = "hello world";
        // alert(s[0]);
        // h
        // alert(s.length);
        // 11, length可以返回原字符串的长度
        // var result = s.charAt(1);
        // e, charAt(1)可以返回字符数组指定索引的字符
        // var result = s.charCodeAt(1);
        // 101, charCodeAt(1)可以返回字符数组指定索引的字符的Unicode编码
        // var result = String.fromCharCode(101);
        // e, String.fromCharCode(101)可以根据编码获取对应的字符
        // var result = s.indexOf("e");

        // 1, indexOf("e")返回相应字符所在的索引位置, -1表示没有找到
        // var result = s.indexOf("l",3);
        // 3, 可以指定第二个参数，表示从该位置开始查找
        // var result = s.lastIndexOf("l");
        // 11, lastIndexOf("l")和indexOf("e")用法基本一致，但是lastIndexOf("l")是从后往前找
        // var result = s.concat("!");
        // hello world!，concat("!")的用法和+一样，可以连接两个字符串

        // var result = s.slice(0, 4);
        // hell, slice(0, 4)可以截取字符串的指定片段
        // 第一个参数：开始的索引（包括开始）
        // 第二个参数：结束的索引（不包括结束）
        // var result = s.substring(0, 4);
        // hell, substring(0, 4)和slice一样可以截取字符串
        // 但是该方法的第二个参数不接受负值，而且会自动比较两个参数的位置，并根据大小调换位置
        // var result = s.substr(1, 4);
        // ello, substr(0, 4)也可以截取字符串，但是第二个参数表示截取的长度

        // var str = "abc,dfe,ghj";
        // var result = str.split(",");
        // dfe, split(",")可以根据括号里面的字符将字符串转换字符数组
        var a = "abcDef";
        // var result = a.toUpperCase();
        // ABCDEF, toUpperCase()可以将字符串中的字母转化为大写
        var result = a.toLowerCase();
        // abcdef, toLowerCase()可以将字符串中的字母转化为小写
        alert(result);
    </script>
</head>
<body>
    
</body>
</html>